ChromeのPDF viewerでPDFのしおりを抽出する
3. <viewer-document-outline>を右クリックしてグローバル変数として保存をクリックする
4. 次のコードをコンソールに貼り付けて実行する
code:js
{
function* extractBookmark(child, depth = 0) {
yield ${" ".repeat(depth)}${child.title};
for (const v of child.children) {
yield* extractBookmark(v, depth + 1);
}
}
console.log(
temp1.__data.bookmarks.flatMap(
).join("\n")
);
}
4. コンソールに目次が出力される
Scrapbox記法で目次が階層構造になるよう加工してある code:js
{
function* extractBookmark(child, depth = 0) {
yield ${" ".repeat(depth)}${child.title};
for (const v of child.items) {
yield* extractBookmark(v, depth + 1);
}
}
console.log(
PDFViewerApplication.pdfOutlineViewer._outline.flatMap(
).join("\n")
);
}
code:js
{
function* extractBookmark(child, depth, ...indice) {
yield ${" ".repeat(depth)}${indice.map((i) => ${i + 1}).join(".")} ${child.title};
let i = 0;
for (const v of child.items) {
yield* extractBookmark(v, depth + 1, ...indice, i++);
}
}
console.log(
PDFViewerApplication.pdfOutlineViewer._outline.flatMap(
).join("\n")
);
}
直したい